// -获取一个比较难碰撞的md5摘要id
function getMD5Id() {
    return $.md5('id' + 1000909 * Math.random() + 79400 * Math.random());
}

//JQ队列
//定义一个AJAX队列
$.newAjaxQueue = function () {
    var queue = [], posting = false, fn = function () {
        if (queue.length) {
            posting = true;
            var request = queue.shift();
            var url = request.url;
            var params = request.params;
            var callback = request.callback;
            if (typeof(params) === 'function') {
                callback = params;
                params = {};
            }
            $.post(url, params, function (response, status, xhr) {
                try {
                    if (typeof(callback) === 'function') {
                        callback(response);
                    }
                } finally {
                    fn();
                    posting = false;
                }
            }, 'text');
        }
    }, instance = ({
        post: function (url, params, callback) {
            queue.push({
                url: url, params: params, callback: callback
            });
            if (posting === false) {
                fn();
            }
            return instance;
        }
    });
    return instance;
};

var nameMap = new Map();
nameMap.set('a', '形容词');
nameMap.set('ad', '副形词');
nameMap.set('ag', '形容词性语素');
nameMap.set('al', '形容词性惯用语');
nameMap.set('an', '名形词');
nameMap.set('b', '区别词');
nameMap.set('begin', '仅用于始##始');
nameMap.set('bg', '区别语素');
nameMap.set('bl', '区别词性惯用语');
nameMap.set('c', '连词');
nameMap.set('cc', '并列连词');
nameMap.set('d', '副词');
nameMap.set('dg', '辄,俱,复之类的副词');
nameMap.set('dl', '连语');
nameMap.set('e', '叹词');
nameMap.set('end', '仅用于终##终');
nameMap.set('f', '方位词');
nameMap.set('g', '学术词汇');
nameMap.set('gb', '生物相关词汇');
nameMap.set('gbc', '生物类别');
nameMap.set('gc', '化学相关词汇');
nameMap.set('gg', '地理地质相关词汇');
nameMap.set('gi', '计算机相关词汇');
nameMap.set('gm', '数学相关词汇');
nameMap.set('gp', '物理相关词汇');
nameMap.set('h', '前缀');
nameMap.set('i', '成语');
nameMap.set('j', '简称略语');
nameMap.set('k', '后缀');
nameMap.set('l', '习用语');
nameMap.set('m', '数词');
nameMap.set('mg', '数语素');
nameMap.set('Mg', '甲乙丙丁之类的数词');
nameMap.set('mq', '数量词');
nameMap.set('n', '名词');
nameMap.set('nb', '生物名');
nameMap.set('nba', '动物名');
nameMap.set('nbc', '动物纲目');
nameMap.set('nbp', '植物名');
nameMap.set('nf', '食品，比如“薯片”');
nameMap.set('ng', '名词性语素');
nameMap.set('nh', '医药疾病等健康相关名词');
nameMap.set('nhd', '疾病');
nameMap.set('nhm', '药品');
nameMap.set('ni', '机构相关（不是独立机构名）');
nameMap.set('nic', '下属机构');
nameMap.set('nis', '机构后缀');
nameMap.set('nit', '教育相关机构');
nameMap.set('nl', '名词性惯用语');
nameMap.set('nm', '物品名');
nameMap.set('nmc', '化学品名');
nameMap.set('nn', '工作相关名词');
nameMap.set('nnd', '职业');
nameMap.set('nnt', '职务职称');
nameMap.set('nr', '人名');
nameMap.set('nr1', '复姓');
nameMap.set('nr2', '蒙古姓名');
nameMap.set('nrf', '音译人名');
nameMap.set('nrj', '日语人名');
nameMap.set('ns', '地名');
nameMap.set('nsf', '音译地名');
nameMap.set('nt', '机构团体名');
nameMap.set('ntc', '公司名');
nameMap.set('ntcb', '银行');
nameMap.set('ntcf', '工厂');
nameMap.set('ntch', '酒店宾馆');
nameMap.set('nth', '医院');
nameMap.set('nto', '政府机构');
nameMap.set('nts', '中小学');
nameMap.set('ntu', '大学');
nameMap.set('nx', '字母专名');
nameMap.set('nz', '其他专名');
nameMap.set('o', '拟声词');
nameMap.set('p', '介词');
nameMap.set('pba', '介词“把”');
nameMap.set('pbei', '介词“被”');
nameMap.set('q', '量词');
nameMap.set('qg', '量词语素');
nameMap.set('qt', '时量词');
nameMap.set('qv', '动量词');
nameMap.set('r', '代词');
nameMap.set('rg', '代词性语素');
nameMap.set('Rg', '古汉语代词性语素');
nameMap.set('rr', '人称代词');
nameMap.set('ry', '疑问代词');
nameMap.set('rys', '处所疑问代词');
nameMap.set('ryt', '时间疑问代词');
nameMap.set('ryv', '谓词性疑问代词');
nameMap.set('rz', '指示代词');
nameMap.set('rzs', '处所指示代词');
nameMap.set('rzt', '时间指示代词');
nameMap.set('rzv', '谓词性指示代词');
nameMap.set('s', '处所词');
nameMap.set('t', '时间词');
nameMap.set('tg', '时间词性语素');
nameMap.set('u', '助词');
nameMap.set('ud', '助词');
nameMap.set('ude1', '的底');
nameMap.set('ude2', '地');
nameMap.set('ude3', '得');
nameMap.set('udeng', '等等等云云');
nameMap.set('udh', '的话');
nameMap.set('ug', '过');
nameMap.set('uguo', '过');
nameMap.set('uj', '助词');
nameMap.set('ul', '连词');
nameMap.set('ule', '了喽');
nameMap.set('ulian', '连（“连小学生都会”）');
nameMap.set('uls', '来讲来说而言说来');
nameMap.set('usuo', '所');
nameMap.set('uv', '连词');
nameMap.set('uyy', '一样一般似的般');
nameMap.set('uz', '着');
nameMap.set('uzhe', '着');
nameMap.set('uzhi', '之');
nameMap.set('v', '动词');
nameMap.set('vd', '副动词');
nameMap.set('vf', '趋向动词');
nameMap.set('vg', '动词性语素');
nameMap.set('vi', '不及物动词（内动词）');
nameMap.set('vl', '动词性惯用语');
nameMap.set('vn', '名动词');
nameMap.set('vshi', '动词“是”');
nameMap.set('vx', '形式动词');
nameMap.set('vyou', '动词“有”');
nameMap.set('w', '标点符号');
nameMap.set('wb', '百分号千分号，全角：％‰半角：%');
nameMap.set('wd', '逗号，全角：，半角：,');
nameMap.set('wf', '分号，全角：；半角：;');
nameMap.set('wh', '单位符号，全角：￥＄￡°℃半角：$');
nameMap.set('wj', '句号，全角：。');
nameMap.set('wky', '右括号，全角：）〕］｝》】〗〉半角：)]{>');
nameMap.set('wkz', '左括号，全角：（〔［｛《【〖〈半角：([{<');
nameMap.set('wm', '冒号，全角：：半角：:');
nameMap.set('wn', '顿号，全角：、');
nameMap.set('wp', '破折号，全角：——－－——－半角：——-');
nameMap.set('ws', '省略号，全角：………');
nameMap.set('wt', '叹号，全角：！');
nameMap.set('ww', '问号，全角：？');
nameMap.set('wyy', '右引号，全角：”’』');
nameMap.set('wyz', '左引号，全角：“‘『');
nameMap.set('x', '字符串');
nameMap.set('xu', '网址URL');
nameMap.set('xx', '非语素字');
nameMap.set('y', '语气词(deleteyg)');
nameMap.set('yg', '语气语素');
nameMap.set('z', '状态词');
nameMap.set('zg', '状态词');

function getPosLevel_1(str) {
    var c = str.charAt(0);
    return nameMap.get(c);
}

function getPosLevel_2(str) {
    return nameMap.get(str);
}

var colorMap = new Map();
colorMap.set('a', 'F012BE');
colorMap.set('b', '00DBE7');
colorMap.set('c', '01AAC1');
colorMap.set('d', '00649F');
colorMap.set('e', 'EF255F');
colorMap.set('f', 'FCCF4D');
colorMap.set('g', '49BEB7');
colorMap.set('h', '085F63');
colorMap.set('i', '476268');
colorMap.set('j', '40A798');
colorMap.set('k', 'F1F1F1');
colorMap.set('l', 'F5E1DA');
colorMap.set('m', 'FFBDD4');
colorMap.set('n', 'FF5C5C');
colorMap.set('nb', 'FFC77F');
colorMap.set('nba', 'FFE5B9');
colorMap.set('nbc', '583131');
colorMap.set('nbp', 'FC6E5E');
colorMap.set('nf', 'E3F3F7');
colorMap.set('ng', 'B0DEDB');
colorMap.set('nh', 'AC005D');
colorMap.set('nhd', 'F85959');
colorMap.set('nhm', 'FF9F68');
colorMap.set('ni', 'FEFF89');
colorMap.set('nic', '8785A2');
colorMap.set('nis', 'F6F6F6');
colorMap.set('nit', 'FFE2E2');
colorMap.set('nl', 'FFC7C7');
colorMap.set('nm', 'F8B195');
colorMap.set('nmc', 'F67280');
colorMap.set('nn', 'C06C84');
colorMap.set('nnd', '6C567B');
colorMap.set('nnt', 'FCE38A');
colorMap.set('nr', '02C39A');
colorMap.set('nr1', '028090');
colorMap.set('nr2', '003459');
colorMap.set('nrf', '756C83');
colorMap.set('nrj', 'F38181');
colorMap.set('ns', 'B9E1DC');
colorMap.set('nsf', 'FBFBFB');
colorMap.set('nt', '539092');
colorMap.set('ntc', '8BCFCC');
colorMap.set('ntcb', 'AEE8E6');
colorMap.set('ntcf', 'F5FAC8');
colorMap.set('ntch', '4756CA');
colorMap.set('nth', '3186B2');
colorMap.set('nto', '0FC9E7');
colorMap.set('nts', 'FCFCFC');
colorMap.set('ntu', '3F7B70');
colorMap.set('nx', '265A5C');
colorMap.set('nz', '113C4A');
colorMap.set('o', 'DDDDDD');
colorMap.set('p', 'F2BBBB');
colorMap.set('q', 'ED93CB');
colorMap.set('r', 'CA82F8');
colorMap.set('s', 'A1D9FF');
colorMap.set('t', 'FF851B');
colorMap.set('tg', 'FF4136');
colorMap.set('u', '85144b');
colorMap.set('v', '97ECC5');

colorMap.set('w', 'B10DC9');
colorMap.set('x', '111111');
colorMap.set('y', 'AAAAAA');
colorMap.set('z', 'DDDDDD');


var colorLiner = new Map();
colorLiner.set('a', 'warm_flame');
colorLiner.set('ad', 'night_fade');
colorLiner.set('ag', 'spring_warmth');
colorLiner.set('al', 'juicy_peach');
colorLiner.set('an', 'young_passion');
colorLiner.set('b', 'lady_lips');
colorLiner.set('begin', 'sunny_morning');
colorLiner.set('bg', 'rainy_ashville');
colorLiner.set('bl', 'frozen_dreams');
colorLiner.set('c', 'winter_neva');
colorLiner.set('cc', 'dusty_grass');
colorLiner.set('d', 'tempting_azure');
colorLiner.set('dg', 'heavy_rain');
colorLiner.set('dl', 'amy_crisp');
colorLiner.set('e', 'mean_fruit');
colorLiner.set('end', 'deep_blue');
colorLiner.set('f', 'ripe_malinka');
colorLiner.set('g', 'cloudy_knoxville');
colorLiner.set('gb', 'malibu_beach');
colorLiner.set('gbc', 'new_life');
colorLiner.set('gc', 'true_sunset');
colorLiner.set('gg', 'morpheus_den');
colorLiner.set('gi', 'rare_wind');
colorLiner.set('gm', 'near_moon');
colorLiner.set('gp', 'wild_apple');
colorLiner.set('h', 'saint_petersburg');
colorLiner.set('i', 'arielles_smile');
colorLiner.set('j', 'plum_plate');
colorLiner.set('k', 'everlasting_sky');
colorLiner.set('l', 'happy_fisher');
colorLiner.set('m', 'blessing');
colorLiner.set('mg', 'sharpeye_eagle');
colorLiner.set('Mg', 'ladoga_bottom');
colorLiner.set('mq', 'lemon_gate');
colorLiner.set('n', 'itmeo_branding');
colorLiner.set('nb', 'zeus_miracle');
colorLiner.set('nba', 'old_hat');
colorLiner.set('nbc', 'star_wine');
colorLiner.set('nbp', 'deep_blue');
colorLiner.set('nf', 'coup_de_grace');
colorLiner.set('ng', 'happy_acid');
colorLiner.set('nh', 'awesome_pine');
colorLiner.set('nhd', 'new_york');
colorLiner.set('nhm', 'shy_rainbow');
colorLiner.set('ni', 'loon_crest');
colorLiner.set('nic', 'mixed_hopes');
colorLiner.set('nis', 'fly_high');
colorLiner.set('nit', 'strong_bliss');
colorLiner.set('nl', 'fresh_milk');
colorLiner.set('nm', 'snow_again');
colorLiner.set('nmc', 'february_ink');
colorLiner.set('nn', 'kind_steel');
colorLiner.set('nnd', 'soft_grass');
colorLiner.set('nnt', 'grown_early');
colorLiner.set('nr', 'sharp_blues');
colorLiner.set('nr1', 'shady_water');
colorLiner.set('nr2', 'dirty_beauty');
colorLiner.set('nrf', 'great_whale');
colorLiner.set('nrj', 'teen_notebook');
colorLiner.set('ns', 'polite_rumors');
colorLiner.set('nsf', 'sweet_period');
colorLiner.set('nt', 'wide_matrix');
colorLiner.set('ntc', 'soft_cherish');
colorLiner.set('ntcb', 'red_salvation');
colorLiner.set('ntcf', 'burning_spring');
colorLiner.set('ntch', 'night_party');
colorLiner.set('nth', 'sky_glider');
colorLiner.set('nto', 'heaven_peach');
colorLiner.set('nts', 'purple_division');
colorLiner.set('ntu', 'aqua_splash');
colorLiner.set('nx', 'above_clouds');
colorLiner.set('nz', 'spiky_naga');
colorLiner.set('o', 'love_kiss');
colorLiner.set('p', 'sharp_glass');
colorLiner.set('pba', 'clean_mirror');
colorLiner.set('pbei', 'premium_dark');
colorLiner.set('q', 'cold_evening');
colorLiner.set('qg', 'cochiti_lake');
colorLiner.set('qt', 'summer_games');
colorLiner.set('qv', 'passionate_bed');
colorLiner.set('r', 'mountain_rock');
colorLiner.set('rg', 'desert_hump');
colorLiner.set('Rg', 'jungle_day');
colorLiner.set('rr', 'phoenix_start');
colorLiner.set('ry', 'october_silence');
colorLiner.set('rys', 'faraway_river');
colorLiner.set('ryt', 'alchemist_lab');
colorLiner.set('ryv', 'over_sun');
colorLiner.set('rz', 'premium_white');
colorLiner.set('rzs', 'mars_party');
colorLiner.set('rzt', 'eternal_constance');
colorLiner.set('rzv', 'japan_blush');
colorLiner.set('s', 'smiling_rain');
colorLiner.set('t', 'cloudy_apple');
colorLiner.set('tg', 'big_mango');
colorLiner.set('u', 'healthy_water');
colorLiner.set('ud', 'amour_amour');
colorLiner.set('ude1', 'risky_concrete');
colorLiner.set('ude2', 'strong_stick');
colorLiner.set('ude3', 'vicious_stance');
colorLiner.set('udeng', 'palo_alto');
colorLiner.set('udh', 'happy_memories');
colorLiner.set('ug', 'midnight_bloom');
colorLiner.set('uguo', 'crystalline');
colorLiner.set('uj', 'raccoon_back');
colorLiner.set('ul', 'party_bliss');
colorLiner.set('ule', 'confident_cloud');
colorLiner.set('ulian', 'le_cocktail');
colorLiner.set('uls', 'river_city');
colorLiner.set('usuo', 'frozen_berry');
colorLiner.set('uv', 'elegance');
colorLiner.set('uyy', 'child_care');
colorLiner.set('uz', 'flying_lemon');
colorLiner.set('uzhe', 'new_retrowave');
colorLiner.set('uzhi', 'hidden_jaguar');
colorLiner.set('v', 'grass_shampoo');
colorLiner.set('vd', 'ga');
colorLiner.set('vf', 'dense_water');
colorLiner.set('vg', 'chemic_aqua');
colorLiner.set('vi', 'seashore');
colorLiner.set('vl', 'marble_wall');
colorLiner.set('vn', 'cheerful_caramel');
colorLiner.set('vshi', 'night_sky');
colorLiner.set('vx', 'landing_aircraft');
colorLiner.set('vyou', 'sleepless_night');
colorLiner.set('w', 'colorful_peach');
colorLiner.set('wb', 'gentle_care');
colorLiner.set('wd', 'plum_bath');
colorLiner.set('wf', 'happy_unicorn');
colorLiner.set('wh', 'full_metal');
colorLiner.set('wj', 'african_field');
colorLiner.set('wky', 'solid_stone');
colorLiner.set('wkz', 'orange_juice');
colorLiner.set('wm', 'glass_water');
colorLiner.set('wn', 'slick_carbon');
colorLiner.set('wp', 'north_miracle');
colorLiner.set('ws', 'fruit_blend');
colorLiner.set('wt', 'millennium_pine');
colorLiner.set('ww', 'high_flight');
colorLiner.set('wyy', 'mole_hall');
colorLiner.set('wyz', 'earl_gray');
colorLiner.set('x', 'space_shift');
colorLiner.set('xu', 'forest_inei');
colorLiner.set('xx', 'royal_garden');
colorLiner.set('y', 'rich_metal');
colorLiner.set('yg', 'juicy_cake');
colorLiner.set('z', 'smart_indigo');
colorLiner.set('zg', 'sand_strike');

function getColorClassName(pos) {
    return colorMap.get(pos);
}

function getColorClassName_2(pos) {
    return colorLiner.get(pos);
}

var relationMap = new Map();
relationMap.set("SBV", "主谓关系");
relationMap.set("VOB", "动宾关系");
relationMap.set("IOB", "间宾关系");
relationMap.set("FOB", "前置宾语");
relationMap.set("DBL", "兼语");
relationMap.set("ATT", "定中关系");
relationMap.set("ADV", "状中结构");
relationMap.set("CMP", "动补结构");
relationMap.set("COO", "并列关系");
relationMap.set("POB", "介宾关系");
relationMap.set("LAD", "左附加关系");
relationMap.set("RAD", "右附加关系");
relationMap.set("IS", "独立结构");
relationMap.set("WP", "标点符号");
relationMap.set("HED", "核心关系");
relationMap.set("主谓关系", "SBV");
relationMap.set("动宾关系", "VOB");
relationMap.set("间宾关系", "IOB");
relationMap.set("前置宾语", "FOB");
relationMap.set("兼语", "DBL");
relationMap.set("定中关系", "ATT");
relationMap.set("状中结构", "ADV");
relationMap.set("动补结构", "CMP");
relationMap.set("并列关系", "COO");
relationMap.set("介宾关系", "POB");
relationMap.set("左附加关系", "LAD");
relationMap.set("右附加关系", "RAD");
relationMap.set("独立结构", "IS");
relationMap.set("标点符号", "WP");
relationMap.set("核心关系", "HED");

function getSenRelation(re) {

    return relationMap.get(re);

}


//克隆对象，深复制对象方法
function cloneObj(obj) {
    var newObj = {};
    if (obj instanceof Array) {
        newObj = [];
    }
    for (var key in obj) {
        var val = obj[key];
        //newObj[key] = typeof val === 'object' ? arguments.callee(val) : val; //arguments.callee 在哪一个函数中运行，它就代表哪个函数, 一般用在匿名函数中。
        newObj[key] = typeof val === 'object' ? cloneObj(val) : val;
    }
    return newObj;
}


//文本剩余字数提示函数
function TextWordCount(max, nodeId) {
    var maxChars = max;
    var node = $('#' + nodeId);
    if (node.val().length > maxChars)
        node.val(node.val().substring(0, maxChars));
    var curr = maxChars - node.val().length;
    document.getElementById("currentLength").innerHTML = curr.toString();
}

//使用layer展示大图
function layerView(node) {

    layer.open({
        type: 1,
        title: '查看大图',
        shade: 0,
        maxmin: true,
        skin: 'layui-layer-rim', //加上边框
        area: ['840px', '480px'], //宽高
        content: node.html()
    });

}


//base64
function getBase64Image(img) {//width、height调用时传入具体像素值，控制大小 ,不传则默认图像大小
    var canvas = document.createElement("canvas");
    canvas.width = img.width;
    canvas.height = img.height;
    var ctx = canvas.getContext("2d");
    ctx.drawImage(img, 0, 0, img.width, img.height);
    var ext = img.src.substring(img.src.lastIndexOf(".") + 1).toLowerCase();
    var dataURL = canvas.toDataURL("image/" + ext);
    return dataURL;
}


//排序函数//按词频排序
function sortByFrequenct(a, b) {
    return b.value - a.value;
}

//时间戳转日期
function timestampToTime(timestamp) {
    var date = new Date(timestamp * 1000);//时间戳为10位需*1000，时间戳为13位的话不需乘1000
    Y = date.getFullYear() + '-';
    M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
    D = date.getDate() + '';
    if (D < 10)
        D = '0' + D;
    h = date.getHours() + ':';
    m = date.getMinutes() + ':';
    s = date.getSeconds();
    return Y + M + D;
}

//两个时间相差天数 兼容firefox chrome
function datedifference(sDate1, sDate2) {    //sDate1和sDate2是2006-12-18格式
    var dateSpan,
        tempDate,
        iDays;
    sDate1 = Date.parse(sDate1);
    sDate2 = Date.parse(sDate2);
    dateSpan = sDate2 - sDate1;
    dateSpan = Math.abs(dateSpan);
    iDays = Math.floor(dateSpan / (24 * 3600 * 1000));
    return iDays
};


//切换导航栏的方法
function nowPageName(name) {

    $('.layui-this').removeClass("layui-this");
    $('#' + name).addClass("layui-this");


}